Настройте режим загрузки отладочной платы на загрузку с SD-карты и вставьте TF-карту в слот.
Подключите Ethernet-порт PS_NET на отладочной плате к локальной сети, в которой находится среда разработки, или напрямую подключите его к хост-компьютеру с помощью Ethernet-кабеля.
Подключите последовательный порт PS_UART отладочной платы к хосту и включите питание платы.
Мы можем видеть информацию о запуске платы на соответствующем последовательном порту через помощник отладки последовательного порта хоста:
Изменив файл project-spec/configs/init-ifupdown/interfaces, IP-адрес в /etc/network/interfaces, упакованный в файловую систему, станет статическим.
xxxxxxxxxx# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interfaceauto loiface lo inet loopback
# Wireless interfacesiface wlan0 inet dhcp wireless_mode managed wireless_essid any wpa-driver wext wpa-conf /etc/wpa_supplicant.conf
iface atml0 inet dhcp
# Wired or wireless interfacesauto eth0/*********Modified Section***********/#iface eth0 inet dhcpiface eth0 inet static address 192.168.3.182 netmask 255.255.255.0 gateway 192.168.3.1 dns-nameservers 8.8.8.8
auto eth1iface eth1 inet dhcp
# Ethernet/RNDIS gadget (g_ether)# ... or on host side, usbnet and random hwaddriface usb0 inet static address 192.168.7.2 netmask 255.255.255.0 network 192.168.7.0 gateway 192.168.7.1
# Bluetooth networkingiface bnep0 inet dhcpСуществует два способа изменить IP-адрес на статический: один — установить его как статический при упаковке с помощью petalinux в файловую систему, а другой — изменить его после запуска системы.
Ethernet-порт PS_NET на отладочной плате соответствует eth0, а Ethernet-порт PL_NET — eth1.
Метод распределения IP-адресов по умолчанию для eth0 — DHCP. Если вам нужен фиксированный IP-адрес, вы можете отредактировать файл /etc/network/interfaces через консольный последовательный порт, соответствующий PS_UART, чтобы настроить сетевой порт как статический IP-адрес. Таким образом, вы сможете позже войти на отладочную плату через telnet.
xxxxxxxxxxroot@petalinux-mind:~# vi /etc/network/interfacesНастройте eth0 с желаемым IP-адресом. Здесь он настроен как 192.168.3.184.
xxxxxxxxxx# Wired or wireless interfacesauto eth0#iface eth0 inet dhcpiface eth0 inet static address 192.168.3.184 netmask 255.255.255.0 gateway 192.168.3.1 dns-nameservers 8.8.8.8
Чтобы упростить передачу файлов и вход в систему между хостом и отладочной платой, вы можете включить функции FTP и telnet на отладочной плате.
Чтобы включить функцию FTP-сервера на отладочной плате, необходимо включить опцию -w во время конфигурации Busybox:
xxxxxxxxxx petalinux-config -c busybox -> Networking utilities -> ftpd -> [*] Enable -w optionНа компьютере используйте программу FileZilla для подключения к FTP-серверу отладочной платы. Если опция -w не включена, произойдет ошибка.
Также существует два способа включения функций telnet и FTP: один — изменить соответствующую конфигурацию на желаемые настройки при упаковке в файловую систему; другой — изменить файлы конфигурации после запуска системы.
Если в каталоге project-spec/meta-user/recipes-core/busybox нет файла busybox_%.bbappend и папки busybox, как показано на рисунке ниже, вам необходимо создать файл busybox_%.bbappend и папку busybox, а также создать документ inetd.conf в папке busybox.
Содержимое inetd.conf следующее:
xxxxxxxxxx#/etc/inetd.conf: see inetd(8) for further informations.## Internet server configuration database## If you want to disable an entry so it isn't touched during# package updates just comment it out with a single '#' character.## <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>##:INTERNAL: Internal services#echo stream tcp nowait root internal#echo dgram udp wait root internal#chargen stream tcp nowait root internal#chargen dgram udp wait root internal#discard stream tcp nowait root internal#discard dgram udp wait root internal#daytime stream tcp nowait root internal#daytime dgram udp wait root internal#time stream tcp nowait root internal#time dgram udp wait root internaltelnet stream tcp nowait root telnetd telnetd -iftp stream tcp nowait root ftpd ftpd -w Если файл busybox_%.bbappend уже существует, добавьте в него следующее содержимое:
xxxxxxxxxxdo_install_append() { if [ -f ${D}${sysconfdir}/inetd.conf ]; then mv ${D}${sysconfdir}/inetd.conf ${D}${sysconfdir}/inetd.conf.bak fi
install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/inetd.conf}Если файла busybox_%.bbappend нет, создайте документ busybox_%.bbappend со следующим содержимым:
xxxxxxxxxxSRC_URI += ""
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
do_install_append() { # bakup origin inetd.conf if [ -f ${D}${sysconfdir}/inetd.conf ]; then mv ${D}${sysconfdir}/inetd.conf ${D}${sysconfdir}/inetd.conf.bak fi
# install new inetd.conf install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/inetd.conf}Затем выполните сборку и упаковку с помощью petalinux.
После запуска системы вы можете отредактировать файл /etc/inetd.conf через консольный последовательный порт.
xxxxxxxxxxroot@petalinux-mind:~# vi /etc/inetd.confИзмените последние две строки на следующее содержимое:
xxxxxxxxxx#/etc/inetd.conf: see inetd(8) for further informations.## Internet server configuration database## If you want to disable an entry so it isn't touched during# package updates just comment it out with a single '#' character.## <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>##:INTERNAL: Internal services#echo stream tcp nowait root internal#echo dgram udp wait root internal#chargen stream tcp nowait root internal#chargen dgram udp wait root internal#discard stream tcp nowait root internal#discard dgram udp wait root internal#daytime stream tcp nowait root internal#daytime dgram udp wait root internal#time stream tcp nowait root internal#time dgram udp wait root internaltelnet stream tcp nowait root telnetd telnetd -iftp stream tcp nowait root ftpd ftpd -w
После включения отладочной платы и нормального сетевого подключения откройте командную строку на компьютере и введите telnet 192.168.3.184, чтобы получить доступ к отладочной плате. Если будет предложено ввести имя пользователя и пароль, имя пользователя и пароль по умолчанию — root. Вы также можете использовать FTP-клиент для загрузки файлов на отладочную плату или скачивания файлов с нее.
В консоли последовательного порта введите команду «ifconfig», чтобы просмотреть IP-адрес: IP-адрес: 192.168.3.184
xxxxxxxxxxifconfigПинг с хоста проходит нормально. Это означает, что сеть функционирует правильно. TODO: Заменить скриншотом пинга 192.168.3.184.
Ethernet-порт, соответствующий PL_NET, — это eth1. Вы можете установить IP-адрес для eth1 с помощью команды «ifconfig eth1 + IP-адрес»:
xxxxxxxxxxifconfig eth1 192.168.3.185Однако в данный момент eth1 не пингуется. Это связано с тем, что два сетевых порта на отладочной плате настроены в одной подсети, и система по умолчанию маршрутизирует трафик через eth0. Поэтому, чтобы пропинговать eth1, необходимо сначала отключить соединение сетевого порта 0 и включить сетевой порт 1 с помощью команд, либо настроить eth1 в другой подсети.
xxxxxxxxxxifconfig eth0 downifup eth1Теперь он пингуется: